<?php

/*
*    声明一个函数，通过传入一个文件名获取文件大部分属性
*
*    @param  string   $fileName    文件名称
* 
*/

//文件名
$fileName = 'C:\wamp\wamp\bin\php\php5.5.12\php.ini';

function getFilePro($fileName){
	//如果提供的文件或目录不存在，则直接退出函数
	//判断文件或目录是否存在    file_exists()
	if(!file_exists($fileName)){
		echo '目标文件不存在<br>';
		return;
	}

	//判断是否是一个普通文件，如果是则条件成立
	if(is_file($fileName)){
		//如果是则输出是一个文件
		echo $fileName.'是一个文件<br>';
	}

	//判断给定文件是否是一个目录，如果是则条件成立
	if(is_dir($fileName)){
		echo $fileName.'是一个目录<br>';
	}

	//用定义的函数输出文件型态
	echo "文件型态:".getFileType($fileName)."<br>";    //写一个获取文件类型的方法 getFileType()  在这里调用
    //获取文件大小，并且自定义转换单位
    //echo '文件大小是:'.getFileSize(filesize($fileName)).'<br>';
    

    //判断文件是否可读
    if(is_readable($fileName)){
    	echo '文件可读<br>';
    }

    //判断文件是否可写
    if(is_writable($fileName)){
    	echo '文件可写<br>';
    }
    
    //判断文件是否可执行
    if(is_executable($fileName)){
    	echo '文件可执行<br>';
    }

    //输出文件创建时间
    echo '文件创建时间是:'.date('Y-m-d H:i:s',filectime($fileName)).'<br>';
    //文件最后修改时间
    echo '文件最后改动时间是:'.date('Y-m-d H:i:s',filemtime($fileName)).'<br>';
    //文件最后打开时间
    echo '文件最后打开时间是:'.date('Y-m-d H:i:s',fileatime($fileName)).'<br>';
}

getFilePro($fileName);
 



/*
*   声明一个函数用来返回文件类型
*   @param  string   $fileName  文件名
*
*/

function getFileType($fileName){
	//通过filetype()函数返回的文件类型作为选择的条件
	$type = '';
	switch(filetype($fileName)){
		case 'file': $type.="普通文件"; break;
		case 'dir':  $type.="文件目录"; break;
		case 'block':$type.="块设备文件"; break;
		case 'char': $typr.="字符设备文件"; break;
		case 'fifo': $type.="命名管道文件"; break;
		case 'link': $type.="符号链接";  break;
		case 'unknown': $type.="未知类型"; break;
		default:  $type.="未检测到类型";
	}

	//返回转换后的文件类型
	return $type;

}


/*
*    自定义一个文件大小单位转换函数
*    
*    @param  string   $bytes  文件大小   字节数
*
*    @return  string   返回转换后的文件大小
*/







































